package sv.gob.mtps.sib.model;

// Generated 09-28-2012 11:20:09 AM by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * FacturaHasProducto generated by hbm2java
 */
@Entity
@Table(name = "factura_has_producto", schema = "sib")
public class FacturaHasProducto implements java.io.Serializable {

	private int idFacturaHasProducto;
	private Factura factura;
	private ProductoHasObjetoespecifico productoHasObjetoespecifico;
	private int cantidad;
	private BigDecimal precio;
	private BigDecimal total;
	private String idBodega;
	private Integer existencia;
	private boolean cargarInv;
	private Integer cantidadCargar;
	private String tipo_msg;
	private String successKey;
	@Transient
	public String getTipo_msg() {
		return tipo_msg;
	}


	public void setTipo_msg(String tipo_msg) {
		this.tipo_msg = tipo_msg;
	}

	@Transient
	public String getSuccessKey() {
		return successKey;
	}


	public void setSuccessKey(String successKey) {
		this.successKey = successKey;
	}


	@Transient
	public Integer getCantidadCargar() {
		return cantidadCargar;
	}


	public void setCantidadCargar(Integer cantidadCargar) {
		this.cantidadCargar = cantidadCargar;
	}


	@Transient 
	public boolean isCargarInv() {
		return cargarInv;
	}

	
	public void setCargarInv(boolean cargarInv) {
		this.cargarInv = cargarInv;
	}

	@Transient 
	public Integer getExistencia() {
		return existencia;
	}

	public void setExistencia(Integer existencia) {
		this.existencia = existencia;
	}

	@Transient 
	public String getIdBodega() {
		return idBodega;
	}

	public void setIdBodega(String idBodega) {
		this.idBodega = idBodega;
	}

	public FacturaHasProducto() {
	}

	public FacturaHasProducto(int idFacturaHasProducto, Factura factura,
			int cantidad, BigDecimal precio) {
		this.idFacturaHasProducto = idFacturaHasProducto;
		this.factura = factura;
		this.cantidad = cantidad;
		this.precio = precio;
	}

	public FacturaHasProducto(int idFacturaHasProducto, Factura factura,
			ProductoHasObjetoespecifico productoHasObjetoespecifico,
			int cantidad, BigDecimal precio, BigDecimal total) {
		this.idFacturaHasProducto = idFacturaHasProducto;
		this.factura = factura;
		this.productoHasObjetoespecifico = productoHasObjetoespecifico;
		this.cantidad = cantidad;
		this.precio = precio;
		this.total = total;
	}

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name = "id_factura_has_producto", unique = true, nullable = false)
	public int getIdFacturaHasProducto() {
		return this.idFacturaHasProducto;
	}

	public void setIdFacturaHasProducto(int idFacturaHasProducto) {
		this.idFacturaHasProducto = idFacturaHasProducto;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_factura", nullable = false)
	public Factura getFactura() {
		return this.factura;
	}

	public void setFactura(Factura factura) {
		this.factura = factura;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_productos_has_especificos")
	public ProductoHasObjetoespecifico getProductoHasObjetoespecifico() {
		return this.productoHasObjetoespecifico;
	}

	public void setProductoHasObjetoespecifico(
			ProductoHasObjetoespecifico productoHasObjetoespecifico) {
		this.productoHasObjetoespecifico = productoHasObjetoespecifico;
	}

	@Column(name = "cantidad", nullable = false)
	public int getCantidad() {
		return this.cantidad;
	}

	public void setCantidad(int cantidad) {
		this.cantidad = cantidad;
	}

	@Column(name = "precio", nullable = false, precision = 20, scale = 7)
	public BigDecimal getPrecio() {
		return this.precio;
	}

	public void setPrecio(BigDecimal precio) {
		this.precio = precio;
	}

	@Column(name = "total", precision = 20, scale = 7)
	public BigDecimal getTotal() {
		return this.total;
	}

	public void setTotal(BigDecimal total) {
		this.total = total;
	}

}
